import { defineConfig, loadEnv } from 'vite'
import vue from '@vitejs/plugin-vue'
import vueJsx from '@vitejs/plugin-vue-jsx'
import path, { resolve } from 'path'
import { vitePluginForArco } from '@arco-plugins/vite-vue'
// const resolve = (dir: string) => path.join(__dirname, dir)

// export default defineConfig({
//   plugins: [
//     vue(),
//     vueJsx(),
//     vitePluginForArco({
//       style: 'css'
//     })
//   ],
//   resolve: {
//     alias: {
//       "@": resolve(__dirname, "src"), // 设置 `@` 指向 `src` 目录
//       'vue': 'vue/dist/vue.esm-bundler.js',
//     }
//   },
//   css: {
//     preprocessorOptions: {
//       less: {
//         modifyVars: {
//           'arcoblue-6': '#f85959',
//         },
//         javascriptEnabled: true,
//       }
//     }
//   },
//   server: {
//     // 配置前端服务地址和端口
//     // host: '',   //服务器主机名
//     port: 4000, // 设置服务启动端口号
//     open: true, // 设置服务启动时是否自动打开浏览器
//     cors: true, // 允许跨域

//     // 设置代理，根据我们项目实际情况配置
//     proxy: {
//       '/api': {
//         target: 'http://127.0.0.1:3005',
//         changeOrigin: true,
//         secure: false,
//         rewrite: (path) => path.replace('/api/', '/')
//       }
//     }
//   }
// })
export default defineConfig(({ command, mode }) => {
  // 检查process.cwd()路径下.env.develeport.local、.env.development、.env.local、.env这四个环境文件
  // const env = loadEnv(mode, process.cwd());
  // const { VITE_BASE_URL, VITE_APP_BASE_PATH } = env;
  const VITE_APP_SERVER_URL: string = loadEnv(mode, process.cwd()).VITE_APP_SERVER_URL;
  return {

    // 静态资源基础路径 base: './' || '',
    // base: './',

    resolve: {
      alias: {
        "@": resolve(__dirname, "src"), // 设置 `@` 指向 `src` 目录
        'vue': 'vue/dist/vue.esm-bundler.js',
				// 导入其他目录
				"components": path.resolve(__dirname, "components")
      }
    },
    plugins: [
      vue(),
      vueJsx(),
      vitePluginForArco({
        style: 'css'
      })
    ],
    css: {
      preprocessorOptions: {
        less: {
          modifyVars: {
            'arcoblue-6': '#f85959',
          },
          javascriptEnabled: true,
        }
      }
    },


    // 跨域代理
    server: {

      // port: 4000, // 设置服务启动端口号
      open: true, // 设置服务启动时是否自动打开浏览器
      cors: true, // 允许跨域
      proxy: {

        //这里是通过请求/api 来转发到 https://api.pingping6.com/
        //假如你要请求https://api.*.com/a/a
        //那么axios的url，可以配置为 /api/a/a
        '/api': {
          // target: "http://127.0.0.1/1000", //本地服务器环境后台目录D:\phpstudy_pro\WWW\1000
          target: VITE_APP_SERVER_URL,
          changeOrigin: true,
          rewrite: (path) => path.replace(/^\/api/, ""),
        },
      }
    },

    build: {
      outDir: 'dist', // 生成输出的根目录。如果该目录存在，则会在生成之前将其删除。 默认文件夹名称为dist
      target: 'esnext',
      terserOptions: {
        compress: {
          drop_console: true, // 生产环境去掉控制台 console
          drop_debugger: true, // 生产环境去掉控制台 debugger 默认就是true
          dead_code: true, // 删除无法访问的代码 默认就是true
        }
      },
      chunkSizeWarningLimit: 2000, // 调整区块大小警告限制
    }
  }
})

